package com.atguigu.udmp.web.userprofile.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import lombok.Data;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhangchen
 * @since 2023-11-10
 */
@Data
@TableName("tag_info")
public class TagInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 标签编码
     */
    private String tagCode;

    /**
     * 标签名称
     */
    private String tagName;

    /**
     * 标签层级
     */
    private Long tagLevel;

    /**
     * 父级标签id
     */
    private Long parentTagId;

    /**
     * 标签类型 1 统计 2 规则型 3 挖掘型  99 类目
     */
    private String tagType;

    /**
     * 标签值类型 1 整数 2 浮点 3 文本 4 日期
     */
    private String tagValueType;



    /**
     * 标签备注
     */
    private String tagComment;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 任务状态
     */
    @TableField(exist = false)
    private Long taskStatus;


    /**
     * 任务id
     */
    @TableField(exist = false)
    private Long taskId;

    /**
     * 任务是否异常
     */
    @TableField(exist = false)
    private String isException;

    /**
     * 子标签
     */
    @TableField(exist = false)
    List<TagInfo> children =new ArrayList<>();

    /**
     * 上级标签层级
     */
    @TableField(exist = false)
    private Long parentTagLevel;

    /**
     * 上级标签编码
     */
    @TableField(exist = false)
    private String parentTagCode;

    /**
     * 上级标签名称
     */
    @TableField(exist = false)
    private String parentTagName;
}
